


a penny for your thoughts but a dollar for your insides

by firesonic152



Category: Overwatch (Video Game)
Genre: Angst with a Happy Ending, Brief Mc76 for angst purposes, Endgame McHanzo though, Gabriel is in love and Jack is oblivious, Jealousy, M/M, Mild Sexual Content, Pining
Language: English
Status: Completed
Published: 2017-11-13
Updated: 2017-11-12
Packaged: 2019-02-01 14:47:37
Rating: Mature
Warnings: No Archive Warnings Apply
Chapters: 2
Words: 9,490
Publisher: archiveofourown.org
Story URL: https://archiveofourown.org/works/12707136
Author URL: https://archiveofourown.org/users/firesonic152/pseuds/firesonic152
Summary: Gabriel doesn’t remember what it was like not to love Jack Morrison. The problem is, Gabriel doesn't know what it's like for Jack to love him back.He'll tell Jack how he feels... eventually.





	1. Chapter 1

Gabriel doesn’t remember what it was like not to love Jack Morrison.

He remembers showing up on the first day of SEP and meeting a gangly kid with a cocksure grin and bitter words sweetened by humor. He remembers being offered a hand - “John. Call me Jack.” - and shaking it, too busy wondering how many freckles could fit on a face to reply. He remembers thinking every day, _No way this kid makes it through the next round._ He remembers tasting relief every time Jack did.

He remembers the one time Jack didn't quite make it, during an especially rough round of injections that dropped their numbers by 30%. He remembers coming back to their room and wondering why Jack wasn't there through the haze of dizzy, aching pain.

Jack _shouldn't_ have made it, really. The next time Gabriel saw him, he was unconscious and hooked up to IVs in a hospital bed. He ended up being comatose for a full week. Gabriel slept in the hard medbay chair for the first three days before the staff kicked him out.

When Jack finally woke up, the first thing out of his mouth in a mumbled slur was, "Gabe, I swear to god, if this is hell and you're dead too, I'm gonna kill you." Gabriel laughed until he cried.

He knew right then he was in love. He had been the whole time. He couldn't even remember when it started.

The problem is, Gabriel doesn't know what it's like for Jack to love him back.

He thought about telling Jack his feelings for a month after he first realized. But there was never a good time between everything else, and... He didn't make time for it, if he was being honest. Jack was his best friend and he was afraid of losing the relationship they already had.

After SEP, Gabriel decided. Once they weren't trapped together in close quarters with nowhere to go if things got awkward.

But then they were thrown headfirst into the Omnic Crisis. Not only were they one-third of a six-person team, but they also had to be able to work together. If Gabriel confessed and it didn't go well, their teamwork could suffer and the consequences could be fatal.

After the war, Gabriel decided. If they both lived, he would tell Jack.

But then they outdid themselves and somehow convinced the UN they could do with more long-term responsibility. Jack got himself a promotion and an ass-load of stressful work. Gabriel got a not-quite-promotion and vague instructions on more stressful work.

Once things have mellowed out, Gabriel decided. He'd tell Jack once they weren't working day and night to get Overwatch off the ground.

But Gabriel never seemed to find a good time, and now he's having trouble finding good excuses.

It's been awhile since he and Jack really spent quality time together. He asks Ana for Jack's schedule and, after a lot of rearranging his own calendar, manages to find a spare hour that works for both of them.

He invites Jack out to lunch. "Just you and me," he says. "Like old times. No talk about work."

Jack laughs and says, "Sure, but you're paying."

It's almost a date. They go to an Italian place and they both dress casually, but nicely. Gabriel even foregoes his signature hoodie for a clean sweater. They order nice wine and laugh at old jokes over salad and pasta. It feels good. It feels _right_. It's on the tip of Gabriel's tongue.

"Jack, I-"

His phone rings. It’s Gerard. They have a new lead on Deadlock, but it’s extremely time-sensitive. If he wants to finally dismantle the gang, Gabriel has to pack up and move in on the lead immediately.

He’s out of time.

He apologizes to Jack for having to leave so suddenly, but Jack waves him away. “This is more important,” Jack says. “Go.”

Gabriel nods and leaves. As he drives away, he gets the sinking feeling that this was his last chance and he blew it.

They assemble a team and raid the newly found Deadlock base on Route 66 and somehow Gabriel comes back with a kid. Jesse is a scrappy thing, but he’s got spirit. There’s something in his eyes, something dark and cruel waiting to lash out. Gabriel knows a killer when he sees one, and a steady hand with steadier aim even better. He needs this kid on his team.

Ana gives him shit, jokes he’s gone soft in his old age, asks if his biological clock is saying he needs to have kids before it’s too late. Gabriel tells her to fuck off because seriously, Ana has a literal daughter, who the hell is she to talk? It doesn’t deter her.

He’s worried about telling Jack he snagged a kid off the street for his top-secret covert operation, so he does the mature thing: he gives the fact a passing one-sentence mention in his unnecessarily long, extensive report. It doesn’t work. Jack sends it back with the clause highlighted and a scribbled _what?_

Luckily, by the time Gabriel returns with Jesse, Jack is away meeting Winston in Gibraltar. Gabriel has time to justify his decision. He needs to get Jesse straightened out and in line by the time Jack comes back to meet the new recruit so he doesn’t get his head bitten off for it.

As it turns out, Jesse cleans up nicely. Too nicely. The kid just oozes charm when he’s feeling confidence, which blindsides Gabriel a little. It pushes him neatly between two opposing voices, one urging him to knock Jesse down a few pegs and the other cooing with pride.

It’s weird. Gabriel doesn’t like it. He has strict policies about maintaining professional emotional distance between himself and his subordinates. Jack is the one exception to his rule, and it isn’t a good precedent with all the heartsickness it’s given him. But Jesse is the worst combination of insufferable and endearing and somehow Gabriel ends up caring what happens to him.

When Jack gets back, Gabriel is confident that there will be no objections to Jesse. He takes Jack down to the shooting range to show off his new recruits skills. He told Jesse to wear something _normal_ , but somehow that stupid Stetson still found its way onto the kid’s head. Luckily, Jack just huffs a noise of amusement at it and doesn’t make any comments.

“Good afternoon, Jesse,” he greets.

Jesse tips his hat with a grin. “Howdy, Strike Commander. Mighty fine t' meet ya.”

Gabriel snorts. Jesse is playing up his accent on purpose. Does he think it’s cool? Gabriel supposes anyone wearing genuine spurred cowboy boots in the 21st century must have a skewed sense of style.

“Come on, kid,” he growls. “Show me it was worth my damn time to save your ass.”

Jesse winks at Jack and turns to the targets. Gabriel rolls his eyes at all the obvious peacocking, but when he glances over at Jack, there’s an amused smile on his face. That’s… good. He wants Jack to be impressed. He needs Jesse on his team. But something is tangling into a little knot in his gut.

There’s a flash of red and Jesse fans the hammer of his pistol, hitting six bulls eyes with six bullets in the blink of an eye. Jack whistles.

“Not bad.” He looks Jesse up and down without moving his head, posture as upright and perfect as ever. “How old are you, Jesse?”

“Twenty this past year, Commander,” Jesse says, puffing out his chest. Like it’s something to be proud of.

Jack hums in approval and that’s when it hits Gabriel.

Jesse is flirting with Jack. And Jack is flirting back.

Gabriel digs his fingers into his folded arms, trying to cut off an internal spiral. He grinds his teeth in his mouth to keep from speaking.

Years of waiting for the right moment to make a move on Jack and he never considered the possibility that someone else could get there first.

“That’s enough Jesse,” he barks. Jesse’s smirk falls away and he turns to Gabriel with an odd look on his face. Something puzzled.

Jack is still chuckling like this is all so goddamn funny. “I hope to see more of you, Jesse,” he says with warmth that makes Gabriel’s skin crawl.

“Y-Yessir.” Jesse stands up a little straighter and salutes Jack awkwardly before glancing back at Gabriel. He’s frowning.

Jack dips his head, flashes that sunny, photo-finish smile, and claps Gabriel on the shoulder. Gabriel startles at the touch, then relaxes slowly.

“I’ll see you later, Reyes.” He turns and sweeps out of the room.

“Commander,” Gabriel grumbles after him as a farewell.

Jesse is still staring at him with those shrewd eyes. “What?” Gabriel snaps. He doesn’t mean to, but his mood’s taken a swan dive.

The corner of Jesse’s mouth twitches, like he’s holding back a smile. “You got a crush on the Strike Commander?” he asks bluntly.

Gabriel gapes at him. “What-“ Heat explodes across his cheeks and he struggles to keep it together. “I am your _superior officer_.”

Jesse’s grin cracks through. “You do! You’re bristling like a cat in a doghouse!”

“Keep your goddamn voice down,” Gabriel hisses.

Jesse is nearly giggling. “Bet ya wish you were sayin’ that to the Strike Commander-“

Gabriel smacks him upside the head, knocking his hat askew. “Shut up, kid.”

Jesse fixes his hat, still smiling smugly. “Why don’t y' just ask him out already? He was real receptive to a lil’ teasing.”

Gabriel’s anger fizzles back into melancholy. Because I’m a coward, he thinks. Because the more I love him, the more it will hurt.

He shoves his hands in his pockets and says, “None of your business.”

Jesse’s amusement falters. “He don’t feel the same?”

Gabriel laughs humorlessly. “Damn, kid. You don’t know a thing about tact, do you?” He jerks his head. “Get outta my sight.”

Jesse finally seems to remember he’s talking to his commanding officer and nods, scurrying off to god knows where. Gabriel’s shoulders sag. He takes off his beanie and runs a hand through his hair with a sigh. He thinks about following Jack.

He goes back to his room.

He sits on his bed and thinks for a long time. It had always been just him and Jack against the world. They were a team. There was no one else for Gabriel except Jack, and he’d made the mistake of thinking Jack felt the same way. An obvious, stupid mistake.

He can’t keep doing this. He has to either do something about his feelings or let it go and accept that he doesn’t _own_ Jack. It’s unfair of him to expect Jack not to… want relationships with other people when Gabriel hasn’t exactly made himself an option.

Still. His heart isn’t quite so logical. He thinks about the glint in Jack’s eyes when he looked at Jesse and wants to break something.

He lays down, curling around the black hole of anxiety in his stomach. He has to do it, he decides. He _has_ to tell Jack.

… Tomorrow.

* * *

Gabriel spends the next day making excuses. Oh, he has a meeting. Jack has a meeting. There’s training, reports to read, reports to write… He’s never been this productive in his life. He falls asleep compiling budget reports that aren’t due for another two months.

He manages to go on like this for a full week before he just runs out of things to do. It’s 8 pm on a Friday and he has absolutely nothing. He wanders around for another two hours, searching for any kind of distraction, before Ana gives him an earful about procrastination.

He doesn’t quite remember walking there, but somehow he ends up staring at the nameplate on Jack’s door. He turns away and paces up and down the hall. He comes back and stares at it again. Jack is definitely in there, Ana had seen him go in awhile ago.

He clenches his hand into a fist. Takes a shallow breath. Raises his fist to knock. The door opens before he can move.

He comes face to face with a very startled, very red Jesse McCree. The kid’s eyes are perfect circles as he stares at Gabriel, frozen.

“Uh,” Jesse says intelligently.

Gabriel’s brain has to take a minute to process the obvious hickies splattered up and down Jesse’s neck. Before Gabriel can say anything, Jesse shoves past him and hurries away. Gabriel’s thoughts are blank as he drifts inside and shuts the door.

Sure enough, he finds Jack in bed, the blanket pooled around his waist doing nothing to hide the marks on his naked chest and shoulders. And god damn him, Jack doesn’t even have the decency to be surprised at Gabriel’s presence. He looks irritated, like this is an inconvenience.

“What do you want, Reyes?” Jack is frowning. _Reyes_. They’re in private and Jack is still calling him Reyes. Like they didn’t end a war together.

“Did you just fuck my recruit?” Gabriel asks quietly. His mouth is dry.

Jack has the gall to shrug. “We didn’t go past third base, if that’s what you’re asking.”

Wrath slithers through Gabriel’s veins like bitter sap. It soaks into his bones and tells him to _hurt_ but his muscles are paralyzed.

“You _fucked_ … my recruit,” he says slowly.

Jack tilts his head and studies Gabriel distantly. “Yes.”

The words Gabriel wanted to say so badly, the words he’d spent years building up the courage to get out, crush in his throat. He swallows.

“Jack.” He can’t stop the rage from coloring his tone, but he manages to keep the volume down. “What the fuck were you thinking?”

That puts a dent in Jack’s cool composure. His jaw is tense, probably grinding his teeth. “It’s none of your business.”

“He’s a _kid_ , Jack!” Gabriel barely reigns himself in from shouting. “He’s your subordinate and a kid, you can’t just-“

“He’s an adult,” Jack cuts in, “and he flirted with me first. I didn’t pressure him into anything.”

He’s still so calm. It makes Gabriel’s blood boil. He wants to see Jack’s pretty face twist. He wants to rage and he wants Jack to fight back. He kind of wants to put a bullet in Jesse’s head.

“That’s _not_ an excuse and you know it,” he snarls. “How desperate _are_ you? You could have anyone you want and you pick _him_?”

Jack tenses. His fingers are curled into the sheets, knuckles white. “Why the fuck do you care so much?” he asks coldly.

_Because I love you too much but not enough to stop being afraid. Because I was finally going to tell you but I’m too fucking late._

“Are you gonna fuck him again?” he asks, scraping the roof of his mouth with it. “Does he know you just want sex or are you leading him on?”

“You don’t know what I want,” Jack shoots back.

“Am I wrong?” Gabriel sneers. He feels mean. He feels like ruining everything. “Isn’t it just like you to want the rewards of a relationship without having to deal with any of the consequences or responsibility?"

“ _Gabriel_.”

Hearing his first name shredded between Jack’s teeth yanks him out of his head. He sees the hurt in Jack’s eyes for the first time.

There’s an awkward silence. Then Jack asks softly, “Is that really what you think of me?” The implication of the word “slut” is left unspoken.

Gabriel rubs at his face and takes an internal step back. Fuck, what is he doing? It’s so unfair to take out his own issues on Jack like this. But it _hurts_. His chest is so tight he can hardly breathe for it.

“No,” he admits, reluctant to speak anymore. “I’m just… worried about Jesse.” It’s a boldfaced lie. Thankfully, he’s always been better at lying to Jack’s face than he has any right to. “He doesn’t exactly have a great history with trusting other people, so I need to know that you’re not gonna make it worse for him.”

The darkness in Jack’s expression fades away just like that, softening into something almost tender. “You really care about him, huh?”

Gabriel doesn’t trust himself to reply to that. Part of him wants to send Jesse on a mission he’ll never come back from. He nods.

“I’ll talk to him,” Jack promises. “We’ll work it out.”

Gabriel shoves his hands in his pockets so Jack can’t see his nails draw blood from his palms. “Is that what you wanted?” he asks. He’s cold inside. “Friends with benefits or something?”

“Or something,” Jack says cryptically.

“Okay.” Gabriel can’t think of anything else to say. It’s all white noise. “I’ll… see you tomorrow.” He leaves abruptly before Jack can respond.

He marches straight to his room and falls face-first into bed. He doesn’t bother getting under the covers or undressing. It doesn’t matter. Tears well up to clog in his throat. He blinks his dry eyes and wonders if it’s worth it to set an alarm when he knows he won’t sleep.

Around 6 am, the only thing he’s thankful for is that it’s Saturday and he’s already done enough paperwork to buy a week-long vacation. Around 9 am, he gets up to take a shower. He goes back to bed and shuts his eyes. He tosses and turns until 10. He gets up to make coffee.

By 11 am, he hates Saturday. He hates that he’s got nothing scheduled. He hates that he did all his work already. He needs _something_ to do.

He goes down to the shooting range. He wants to blow something’s head off. He gets there and sees that familiar cowboy hat.

Jesse startles and gives him that wide-eyed look. “Boss-“

Gabriel turns and leaves.

He avoids Jesse all week. Childish? Yes. Wildly inappropriate behavior from a commander? Absolutely. Does Gabriel care at the moment? No.

The hickies are fading, but they’re still visible, peeking out from the red bandana Jesse keeps tying around his neck to hide it. Every time Gabriel sees it, he thinks about how easy it would be to twist that bandana until it's too tight.

He’s not proud of these thoughts. He doesn’t like being controlled by his emotions like this. It’s unprofessional. It’s _stupid_. He _knows_ Jack doesn’t belong to him. But the possessiveness is lodged in his chest like a bullet, nestled right up against his heart. If he can’t get it out, it’s going to kill him someday.

So he sucks it up and quietly sends Jesse a message to meet him in his office for a private chat. Jesse shows up looking sheepish. Gabriel gestures at the seat in front of his desk, but Jesse shakes his head and stays standing.

Gabriel sighs and rubs a hand down his face. “Look, Jesse,” he starts, but falters. He doesn’t know where to begin unpacking all this baggage he’s been hauling around.

“I’m sorry boss,” Jesse blurts out.

Gabriel blinks but stays silent to let Jesse explain himself.

Jesse takes off his hat, wringing it between his hands. “I know you like the Strike Commander,” he says. “But he was coming onto me real strong…” He flushes redder at that. “Um- I figured, just one time wouldn’t hurt, thought you’d never find out about it.”

“Right,” Gabriel says dryly.

“But Jack- the Strike Commander, he asked me if I’d like to do it again.” Jesse looks down at that. “I… I said I’d think about it.” He swallows. “Didn’t wanna say no 'cause it wouldn’t be right for me to tell him about your feelings. But I couldn’t say yes without…”

He trails off and Gabriel narrows his eyes. “Are you asking me for permission?” he asks bluntly.

Jesse doesn’t look up, but he nods once.

Gabriel leans back in his chair. He’s got a headache coming on. “Jesse. Jack isn’t _mine_. What you two do is none of my business.”

The words are sensible, but his tone is rusted with acid. Jesse does not look assuaged.

“Then… why’d you wanna talk to me?” he asks warily.

Gabriel chews his tongue for a minute, biting back all the things he _really_ wants to say. He’s an adult. He has to be mature about this.

“I don’t approve,” he says grudgingly, “but it doesn’t matter. I’ve had plenty of time and I wasted it. If Jack wants you, then that’s it.”

He leans forward, clasping his hands together with his elbows on the desk. He needs to say this. It drags up his throat like it’s barbed.

“Make him happy.”

There’s a threat under that statement, but he doesn’t voice it.

“That’s an order,” he adds. He waves his hand. “Dismissed." Jesse stares at him dumbly and he growls, “ _Out_.”

Jesse flinches, puts his hat on, and flees. Gabriel drops his head into his hands. He tells himself again that this is the right thing to do.

It’s simple. Jack doesn’t like him. Jack likes someone else. He has to accept that. He can do it. He can swallow his own heartbreak and let Jack be happy. He doesn’t have to like it. He just has to do it.

The thing is, it doesn’t get easier, especially because now Jesse thinks he has permission to be open about his relationship with Jack.

They aren’t loud about it, since Jack _is_ a public figure and all. But Jesse doesn’t bother keeping his mouth shut around Blackwatch. Gabriel overhears him chattering to other agents, about how nice Jack’s shower is and how he’s never slept better than in Jack’s comfy bed. He sees Jesse wearing Jack’s shirts around sometimes, or making a beeline for Jack’s office mid-day. He can pretend not to notice that.

It’s rougher when Jack decides to visit Blackwatch and gives Jesse hooded smirks while he asks Gabriel to borrow his agent.

Gabriel can’t keep up a fake smile long enough so he stops trying. He pretends nothing’s wrong by going in the opposite direction. He gets pissed off at everyone and everything. If he’s _always_ in a bad mood, then nobody will bother tracing the source.

At least he can trudge back to his room at the end of a day of simmering ire and shut the door on reality for as long as he can. He drops into bed and indulges in fantasies for just a little while. A few wander into more explicit territory but mostly they’re simple things. Like having Jack curled in his lap while they watch stupid rom-coms, or making dinner together and trading kisses between tasks.

He pretends he doesn't see Jack pull Jesse aside for a kiss in the hallways. He thinks about what it would be like if it were him instead. What Jack would be like under his hands in a dark closet, chest pressed to his, breathing hard, the sounds he’d make while he crumbles...

He takes it one day at a time, one foot in front of the other. Just keep moving, keep working, keep burying under mission after mission.

Before he knows it, time passes. Years of struggling not to drown in his heartache, of trying to treat Jessie fairly and Jack professionally. He’s sure Jack thinks he hates him. He wonders if Jack would even really be wrong at this point.

Then it all comes to an end.

Jack is dead.

Gabriel is dead too - at least, he should be. He certainly _feels_ dead as he watches Jesse cry at Jack's funeral from a dark corner.

He waits until everyone else is gone to come kneel before the headstone. He’s numb. The old anger’s rotted away and now there’s nothing left.

Ashes to ashes, he decides. He gathers what’s left of the charred dust of his heart and plans to make them all burn.


	2. Chapter 2

Gabriel doesn’t want to care anymore.

He doesn’t _feel_ like he cares anymore… but he must, deep down, or else why would he be doing this?

“This” being Talon. Working amongst the enemy to ferret out the people responsible for destroying Overwatch. For murdering Jack and himself.

That’s the reason his brain supplies, anyway. The paper-thin motivation to keep going. Keep working. Take it out on scum who deserve it.

Ha- “Revenge.” For what? For hurting Jack, even though Gabriel is so worn out from unrequited feelings that love is a faraway concept? For killing Gabriel himself and turning him into a facsimile of death, even though by the time Zurich happened he was ready for it all to end anyway?

And yet, despite the overwhelming apathy, he’s still going.

It’s like the switch in his mind telling him to keep putting one foot in front of the other snapped and now he doesn’t know how to turn it off. So he hunts down traitors and moles and informants and doesn’t feel a thing when he pulls the trigger. A ghost, through and through.

And then the phantom at his back finally catches up with him.

Gabriel stares up at the red visor impassively through his own mask, listing out in his head all the ways he could escape the hold.

There’s no reason Soldier 76 should have been able to pin him to the floor. There’s a million ways for Gabriel to break free. But here they are.

Gabriel had considered fighting back when the vigilante first ambushed him after a false lead on a former double-agent, but then the soldier had growled something about taking revenge himself and the willpower fled Gabriel’s limbs instantly. Based on the grip on his throat and the pistol pressed to the side of his head, the soldier plans to kill him. Gabriel hopes he’s right.

But Soldier’s hands are shaking faintly, and he hasn’t pulled the trigger yet.

“What are you waiting for?” Gabriel growls. “Do it.”

The pressure of the pistol against his head falters. Soldier’s hand lifts from Gabriel’s neck and tears away his Reaper mask. Gabriel blinks a few times, adjusting to the brighter light. The barrel of the gun jams into his temple.

“I knew it,” Soldier mutters. Gabriel waits for an explanation indifferently. But instead, Soldier asks a question. “Why did you do it?”

He frowns up at the visor. “What?”

Soldier’s hand returns to his throat and gives him a threatening shove. “ _Why_. Why did you betray Overwatch?”

Gabriel doesn’t know what to say to that for a moment. He tilts his head the best he can and repeats, “What?”

“This isn’t a game, answer the fucking question,” Soldier snarls. “Zurich. Why did you do it?”

“You haven’t thought this through, have you?” Gabriel says it dryly, but a little heat returns to his tone. “Why would I betray Overwatch, then turn around and hunt down other traitors?”

“That’s what _I_ want to know,” Soldier snaps. “It’s the only reason I haven’t killed you yet.”

Gabriel laughs, something hollow and raspy. “That’s sweet.” He smiles, showing off too many too-sharp teeth. “But stupid.”

He evaporates out from under Soldier, bored of the disadvantage. He moves to stand behind the man, watching with vague amusement as Soldier scrambles to get up and whip around with his pistol at the ready.

“Haven’t you heard about how many cats curiosity has killed?” he asks. “You missed your opportunity.”

Soldier curses and lowers his gun. He holsters it before detaching his own mask and balancing it on his hip.

“It’s _me_ , Reyes,” Jack says, every hard line in his face radiating anger.

For a moment, the white noise that had been steadily growing louder since the moment Jesse left his office all those years ago goes silent.

Gabriel stares at Jack and realizes, just on the edge of the numbing haze inside him, there’s a spark of something else. Something _real_.

“Your little assassination attempt failed,” Jack’s saying through his teeth. “Not that it matters, so many are dead-“

Gabriel isn’t listening. He takes a step forward. Jack reaches for his pistol, but Gabriel bashes him in the face with a fist before he can touch it.

Jack stumbles, startled and clutching at his bleeding nose. He yells, “What the _fuck_ -“ but Gabriel takes the opening to sweep him up in a hug. Jack goes rigid in his arms, but doesn’t struggle. Gabriel only squeezes him tighter.

“I thought you were _dead_ , you motherfucker,” he croaks.

Jack relaxes just a little. “You were the one who tried to kill me,” he says accusingly, but it’s tainted with a hint of uncertainty.

“ _Christ_ , Jack…” A laugh bubbles up out of Gabriel’s throat from god knows where. “ _No_ , fuck, where in the hell did you get that idea?”

“Maybe because you’re _Talon_ ,” Jack replies. “Or did you forget who you’re working for?”

Gabriel lets Jack go, frowning. “I’m _killing_ Talon,” he points out. “You lured me here with one of their agents, remember?”

“Are you sure you're not just tying loose ends for them?” Jack asks acidly.

It’s amazing how easily all that old anger rekindles.

“Right.” Gabriel’s lip curls. “I forgot. You stopped trusting me as _soon_ as you could kick me off into some dark corner to rot in silence.”

“Me?” Jack gapes. “You couldn’t wait to push me away.” A strange emotion pulls at the corners of his eyes. "You were my _friend_ , Gabriel.”

Gabriel is ready to snap back about how that was the problem, Jack would never see him as anything but a friend, the words are right there-

Jack shakes his head. “Until you decided you wanted nothing to do with me anymore.”

Oh, Gabriel thinks dimly. A self-fulfilling prophecy. He had been afraid of losing Jack’s friendship due to his stupid feelings, so he overcompensated and... threw away Jack’s friendship himself.

He sees it now, the futility of hurting himself before Jack could. He’s smiling again, eyes wet. God, he can’t remember how emotions work.

“I went to your funeral, asshole,” he says thickly. 

Jack’s staring, confusion written across his face plain as day. His brow crinkles. “Didn’t realize you cared,” he says dismissively. Gabriel chokes a laugh. It’s been so long, but he remembers when he did.

Maybe he still wants to.

“I did, I-“ He stops before he says too much. "I’m just using Talon,” he explains. “To track down the people responsible for… for Zurich.”

Jack nods slowly, studying him. Looking for a reason to distrust him. The silence stretches awkwardly.

“Does-“ Gabriel pauses, swallows the bile rising in his mouth. He’s not sure he wants an answer to this but... “Does Jesse know you’re alive?”

Jack shakes his head. “He’s moved on. Found himself a new partner. We…” He glances down. “We both knew what we had wasn’t meant to last.”

Gabriel thought the little seed of hope in his chest had long since rotted away, but there it is, stubbornly trying to sprout again.

“Don’t you want to tell him anyway?” he asks, desperately trying to crush his hope before it can get the chance to bloom.

Jack shrugs. “It’s not worth dragging up the past. The dead should stay dead.” He sags a little. “What I want doesn’t matter anymore.” He sighs and shifts his weight, hand ghosting over his pistol uncertainly. He turns the question back around. “What do _you_ want?"

Gabriel is ashamed that the first reply in his head is _to go back to whatever safe house you're sleeping in currently and kiss you for hours_. The thought startles him. It’s been a long time since he couldn’t stop wondering what it would be like to just lean in and kiss Jack.

“Revenge,” he says abruptly, even as he feels that long-since forgotten pit of yearning deep down inside yawning open. He realizes too late it never went away to begin with.

He looks at Jack’s face, the scars running it through, the lines cut around his eyes. The years fall away for a moment and he’s twenty-five again, watching Jack fall apart as chemicals systematically destroy his every cell. He’s worrying every day about whether Jack will make it to the next. He’s promising himself he’ll say something before it’s too late.

He’s waving at his chances as they pass him by, assured there will be another.

Jack tilts his head, catching the light on his scars, and Gabriel knows that if this is another chance, it will be his last.

But… it’s a chance he’ll have to earn. His relationship with Jack is in shambles right now. Somehow, he has to make it right. He _will_.

"We can work together," he offers quickly. "Two heads are better than one and all that. We'd get a lot more done."

Jack frowns, considering. Better than the outright rejection Gabriel expected. "Won't Talon find out and come after us?"

 _Us_ , not _you_. Gabriel tries not to smile, but he isn't sure he's totally successful. "They won't find out, not until it's too late. By then we'll be done."

"Awfully optimistic," Jack murmurs, but he shrugs. "Fine. We can give it a shot." His smile is wry. "Whatever happens, justice will be served."

It takes Gabriel a moment to realize that wasn't a rally line, but self-deprecating peace in the prospect one's own demise. _It's not that he trusts me, it's that he doesn't care what will happen if I betray him_ , Gabriel thinks. Not unexpected, but still... depressing. He decides it’s just that much more important he prove himself to Jack again. To show that he's committed to rebuilding their relationship.

And try he does, though it’s difficult with Jack so closed off. Gabriel stays with Jack in safe houses as much as he can without being too obvious, but it’s always silent apart from when they discuss their next move.

Gabriel prods at Jack for reactions with a snarky comment once in awhile. Jack will grunt and _sometimes_ give an actual verbal response. These tiny interactions always feel so much bigger than they should and Gabriel’s starving for more.

He watches Jack across the room and everything he wants to say piles up until there’s no room for air in his throat. Stupid things, like “I missed you,” “what happened to us,” “could you ever care about me again, if you ever did?” They clog and asphyxiate.

Slowly, the silence lessens. Jack starts to grumble about minor things. Gabriel pokes and Jack will poke back. Gabriel almost sees Jack smile.

One night, Jack is slumped in his cheap foldout chair rubbing at his bicep while he complains gruffly about old bones. It feels normal, domestic. It’s enough to convince Gabriel it’s okay to drift up behind him and mutter, “Knowing you, you’ll just dislocate a shoulder trying to stretch it.”

He braces his palms against the back of Jack’s shoulders and presses firmly in smooth, circular motions. The effect is immediate. Jack leans into it, positively melting to the touch, eyes falling shut. Gabriel almost stops in shock but Jack’s quiet groan spurs him on.

Gabriel can feel his heart racing in his fingertips as Jack shifts forward to give him more room to work with. The back of Jack's neck is bared, skin so uncharacteristically delicate under Gabriel’s hands, and Gabriel kisses it before he can think.

Jack whips around and stares. Gabriel goes rigid, frozen in place as he is, bent forward, hands settling on the back of the chair. They’re nose to nose. Gabriel feels more than he hears the brittle plastic crack in his grip. Jack’s mouth thins into a line as he processes

His lips ghost over a “fuck it” and then collide with Gabriel’s, one hand behind Gabriel’s head to hold him there. Gabriel’s mouth opens in surprise and Jack’s tongue wastes no time taking advantage of it. It’s hot and forceful and…

Gabriel knows what this is. There’s lust but no need. Jack just feels a warm body against him, it doesn’t matter who it is.

It’s not really what Gabriel wants.

Close enough.

They stumble to bed, pushing and shoving at each other until they’re naked and skewing the sheets as Jack manhandles Gabriel between his legs. This is more than Gabriel could have ever asked for. Jack is under him, growling for _more_ , biting at his lip and scoring nails down his back-

Jack doesn’t have to love him. But open and begging like this, toes curling, pliant and hot inside-

Gabriel lets himself pretend.

He had always wondered about the faces Jack would make with Gabriel pushing inside him, the sounds he could get with every measured thrust. Jack moans “ _Please_ “ and Gabriel obliges, crushes his fingers into Jack’s thighs as he fucks him just that much deeper, harder.

This is what he wanted, right?

But then it’s over and they’re sleeping on opposite sides of the bed with their backs to each other. Gabriel tells himself he should feel at least a little bit better even though every inch of him just wants to curl up and disappear for awhile.

But it happens again the next night, and again and again and again. All Jack has to do is look Gabriel in the eye and flick his gaze to Gabriel’s lips with that infuriating smolder and Gabriel crumbles every time.

It’s pathetic but he can’t resist his feelings anymore. Jack’s body is an addiction and Gabriel _wants_ , has wanted for years. At this point, it almost feels like relief every time he chips off another piece of his heart when they fall into bed together. Maybe he’ll eventually shave it down to a size he can breathe around.

Then one night Jack’s old communicator switches on of its own accord and Winston’s voice recalls them to Overwatch. They ignore it for awhile, but Gabriel’s stupid attachment to Jack makes him sloppy. It doesn’t take much longer for Talon to pick up on where his loyalties really lie.

After some griping back and forth, they finally decide to go back to Overwatch. As much as the thought of joining the recall makes Gabriel want to shoot himself, it’s still preferable to whatever Talon plans to do to him if they capture him.

When they show up in Gibraltar, none other than Jesse McCree is there to greet them. He’s got an arm around a shorter man who looks familiar…

“Hanzo Shimada?” Gabriel growls to Jack quietly as they approach. “Jesse’s dating a goddamn criminal?”

“Look who’s talking,” Jack replies.

Before Gabriel can say something appropriately snarky back, Jesse bounds up to meet them, Hanzo trailing quietly behind. He looks more mature than Gabriel remembers, roughed up around the edges, but still sporting that godforsaken hat. He’s grinning tearfully.

“Son of a bitch, I went to both your funerals,” Jesse cries without heat, immediately sweeping Jack up in a bear hug.

“Been getting a lot of that,” Jack says, awkwardly patting Jesse’s back.

“I’ve got half a mind to kill you both right now for pulling that shit,” Jesse sniffs.

Gabriel rolls his eyes. “Get in line.”

Jesse releases Jack, nudges him aside, and now it’s Gabriel’s turn to be pulled into a bone-crushing hug. Gabriel can see Hanzo approach and share a stiff handshake with Jack out of the corner of his eye.

“Fuck, boss.” Jesse steps back to beam his watery smile at Gabriel. “I know you ain’t been having the best time of it, but it’s so great you finally got everything sorted with Jack.”

Gabriel blinks, a little confused, but Jesse keeps rambling.

“After all those years of pining- I’m so glad you finally told him your feelings, it was gettin’ real painful to watch by the end-“

 _Like you weren’t part of the problem,_ Gabriel almost says before he suddenly realizes Jack is staring at them both.

Oh _fuck_.

“-you were never happy back then and-“

Oh god Jesse is still talking and Jack’s staring with that unreadable expression. Gabriel can’t think of what to do except frantically flick his hand in front of his throat in a “ _stop talking_ ” gesture.

Jesse slowly trails off. He looks between Gabriel and Jack, confusion written across his face. “Wait. You... You two ain't together?"

Gabriel shakes his head slightly less frantically.

Jesse takes off his hat and whistles as he combs his fingers through his hair. “Well that’s... Hoo boy. That's awkward."

Jack chooses that moment to step in and try to save this. "Of course we aren’t,” he says quickly, dismissively. "Gabriel doesn’t-" He glances back at Gabriel for support and Gabriel can only give him a lost look in return.

Reality crashes in.

Gabriel _does_.

Hanzo coughs and grabs Jesse by the arm. “We should- go see about... our room,” he says, hurrying to drag a dumbfounded Jesse away.

Gabriel just stares morosely at the cliff and contemplates if a fall from this height would be enough kill him. Injure, yes, but...

Jack curses savagely and starts pacing.

"It doesn't have to change anything,” Gabriel says weakly. “I mean- we can stop… sleeping together, but professionally-"

"How long?” Jack barks.

Gabriel fidgets and stares at the ground. How long, indeed. He can’t remember when it started but he remembers when he knew.

“Since the day you finally came out of that coma back in SEP,” he mumbles, feeling all too much like a child caught stealing a cookie.

Something flares in Jack’s eyes. "Jesus, Gabe," he hisses. "Then all this time…” He turns away, fists flexing restlessly until he slams a full-bodied punch into the side of the building. "This whole time it meant something to you and you didn't say anything?  _Christ_ , Gabe!”

“It’s fine,” Gabriel sighs.

It is not fine. It has never been fine.

“It doesn’t matter,” he goes on, resigned to Jack’s fury. “It didn’t back then. Why should it now?”

Jack rounds on him, eyes too bright, mouth twisted. "Sure, just keep fucking lying to me, Reyes! Been doing it for years, after all.” He kicks the wall, cursing again. “It _matters_ ,” he snarls.

Gabriel gives him a look of utter defeat and asks, “What am I supposed to do then?”

Because he's been turning it over and over and _over_ again, for _decades_ , and he's never been able to think of a way to put this stupid love behind him. He means it as a genuine question - what is he supposed to do? He's tried ignoring it, he's tried moving past it, he's tried hiding it, he's tried accepting it and using it for motivation, he's tried...

He's tired of trying

He doesn't wait for Jack's answer. He's been thinking about it for all these years and there _is_ no answer.

“I’ve gotta go,” he mutters, not bothering with a better excuse, and escapes past Jack into the Watchpoint. He needs to be somewhere else right now. Anywhere else.

Gabriel finds his old quarters and Athena lets him in without a fuss. He had never spent much time living in Gibraltar so his room there is fairly empty, but the healthy layer of dust over everything is a heavy reminder of all the years gone by. All that lost time.

He shakes out the bedding, throws it back on the mattress haphazardly, and lays across it the wrong way. Nothing’s different, he tells himself. Jack just… knows how he feels now. Things might be a little more awkward but hey, there’s a whole team of other people to hide behind.

He feels like shit, but that’s certainly no different from the usual. He just needs a second alone to get himself together. Wall off his stupid feelings again. Nothing’s changed. Except for that now he knows how Jack’s body feels pressed up against his. He can deal with that… somehow.

He isn’t sure how long he wallows in self-pity before insistent knocking on the door forces him to get up with a groan. “What?” he grumbles as he opens the door.

It’s Jesse fucking McCree, of course. Meddlesome brat.

“Can I come in?” Jesse asks.

Gabriel sighs and stands aside. “What do you want?” he asks, shutting the door behind Jesse and rubbing a hand down his face tiredly.

Jesse taps his foot and crosses his arms, agitated. “I noticed the hickies,” he says. “You been sleeping with Jack, right?”

“Nothing gets past you,” Gabriel says wearily.

“But he _still_ didn’t know?” Jesse’s voice is strained with frustration.

“Don’t lecture _me_ on no-strings relationships,” Gabriel replies pointedly.

Jesse throws his hands in the air. “‘I had plenty of time and I wasted it,’” he spits. “That’s what _you_ told me, years ago.”

“So?”

“ _So_ -“ Jesse swipes his hat off his head and wrings it angrily. “ _So_ , you keep lettin’ Jack get away every chance you get. For fuck’s sake you’re _sleeping_ with him and you still-“

“But he doesn’t _love me_ Jesse!” Gabriel hisses.

“You don’t _know_ that!” Jesse shouts back.

“I _do_ know.”

“ _How_? You never asked!”

Gabriel goes silent.

Jesse huffs and jabs his finger in Gabriel’s face. “You're allowed to be happy, did you know that?” he snaps. "There's nothing wrong with trying to find something good for yourself.”

Gabriel’s frown deepens but he still doesn’t reply.

“I would know, I've fucked up so much in this life, figured there wasn't anything I could do to make up for it," Jesse continues heatedly. “When I met Hanzo, I…” His tone softens. “Thought I didn't deserve a man like him. Thought it'd be kinder to him if I just kept being miserable on my own. But you know what? Turns out he was miserable too. Being alone did neither of us any good.”

He takes a breath.

"It's hard, okay. It's the hardest thing to convince yourself of, but…” He smiles, a far-off kind of fond smile that makes it obvious he's thinking about Hanzo. “It's okay to want to be happy. And it's okay to _be_  happy. So quit sabotaging yourself and go for it.”

Gabriel stares at Jesse for a beat, and then ducks his head with an uncomfortable laugh. “Christ, kid,” he says, “you grew up when I wasn’t looking.”

Jesse shrugs and fixes his hat back on his head, suddenly looking bashful. “Just tired of all those hopeless looks you been sending Jack’s way for years,” he says. “I can’t suffer through that for _another_ decade. If not for yourself, do it outta some concern for the rest of us who have to be around you two.”

“Fair,” Gabriel relents.

They stand in silence again. Jesse shifts, nervous.

“I’m sorry,” he says abruptly. “I, uh. Realized I never apologized. For... making you think you didn't have a chance. I’m- I'm sorry. I didn't really think about what I was doing. That was wrong of me.”

Ah. So that’s where all this is coming from, Gabriel realizes. Jesse trying to make up for his part in Gabriel’s heartbreak. He finds the corners of his mouth tilting up, despite himself. It isn’t quite a smile.

“Don’t worry about it kid,” he says gruffly.

Jesse smiles back, his relief palpable. “Thanks.” He clears his throat and nudges at Gabriel’s arm. “Go on now, go talk to Jack. He’s in the old weight room beating a punching bag to hell, last I checked.”

“But-“

“Just remember to invite me to the wedding!”

“Wai-"

“An' if he don't do right by you, well then I'll just have to kill him.”

“ _Jesse_."

* * *

In another part of the base, Hanzo stands in the doorway of the weight room and silently watches Jack accidentally punch a hole through his punching bag. Jack curse violently at it and yanks it too hard when he tries to take it down to replace it, unhinging the hook.

“ _Fuck_.” He throws the poor bag down and kicks it away, causing it to hit the far wall and leave a dent. He leaves it there to bleed sand while he rifles around for another one. Hanzo glances around the room and notes several other bags lying around in similar states.

“I believe that was the last one,” he says.

Jack goes rigid and whips around to see who’s there. Hanzo tilts his head at the destroyed bag.

“The punching bag,” he clarifies. “I think you’ve used them all.”

“Fantastic,” Jack breathes through his teeth.

Hanzo leans against the doorframe and continues observing quietly while Jack grabs some boxing tape off a shelf. Jack sits heavily by his most recently destroyed punching bag and attempts to tape the gaping hole in it back together. Predictably, he gets too frustrated with the uncooperative fabric and just ends up ripping it apart further.

“Emotions aren’t something that can be beaten away with one’s fists,” Hanzo comments.

“I can damn well try,” Jack replies dryly.

Hanzo shrugs. “You certainly can. But might I suggest a different option?"

Jack shoves the punching bag away with an irritated grunt. “What?”

“Would I be wrong in thinking this anger comes from your own feelings of inadequacy?” Hanzo asks, studying his nails.

Jack twists to fix him with a piercing glare. “What?” he repeats low in this throat.

Hanzo meets his gaze with a bored expression. “A man you respect loves you,” he says simply. “It is frightening.”

Jack flinches and stands, stalking over to use his height advantage as some kind of intimidation tactic. Hanzo is unimpressed.

“You do not feel worthy of his feelings,” he goes on, like Jack isn’t boring holes into his skull with his eyes. “What if your own are not enough?”

“What the fuck would you know about it?” Jack spits.

“It is not a difficult observation to make.” Hanzo searches Jack’s face for a moment, then smiles faintly. “I have been there before.”

Jack deflates, shoulders falling, but still grimacing like he’s been shot.

“It’s complicated,” he says defensively.

“When is it not?” Hanzo replies.

Jack runs a hand through his hair, uneasy and vexed. “But-“ He starts pacing, hands clasped tightly behind his back. “It’s- I fucked up.”

Hanzo nods pleasantly.

“Gabe was- _is_ \- too- he doesn’t-“ Jack’s knuckles are white from his efforts not to find a new target for punching. “I’m not good enough,” he finally coughs up like it hurts. “Okay, _fuck_ , I never was, that’s why I thought… I never… I moved on!”

“Did you?” Hanzo asks.

“ _Yes_ , I knew it was hopeless so I gave up and…” The fire goes out in him all of a sudden. Jack’s expression drains into something tired and melancholy. “I told myself to stop loving him a long time ago,” he says quietly.

Hanzo waits for him to elaborate, but Jack doesn’t go on so he picks up the thread. “It is frightening, to be loved so much by someone,” he prompts.

“ _Decades_ ,” Jack says miserably. “He said he’s loved me for decades, through- through _everything_ , I can’t… live up to that.”

He goes back to pacing, but in wider, looser circles.

“I wasn’t good enough when we were young and the years haven’t…” He rubs at the scar on his forehead self-consciously. “…been kind. I can’t be the person he deserves. I wasn’t back then and I’m certainly not now.”

Hanzo considers that. “Let me state my opinion,” he says like he’s a judge in a courtroom. “I understand that you do not want to hurt him. But are you really protecting him, or are you protecting yourself? If you both want to be together… why not try? What do you stand to lose?"

He says it like it’s so easy. It makes Jack want to believe him.

“If Gabriel has loved you for this long, there is nothing you can do that will change that,” Hanzo continues slowly. "So there is no reason to be afraid.”

Jack stands still and stares at the floor. He laughs softly and looks up at Hanzo. “It feels a little silly to be taking romance advice from someone at least ten years my junior.”

Hanzo smiles properly. “I find things tend to work out in the end… at least, for people who try.”

* * *

Gabriel passes Hanzo in the hall on his way to the weights room. Hanzo gives him a nod and Gabriel gets the sense it was meant as a “good luck.” He fiddles with his sleeve, caught between his nervous instinct to walk faster and the logic that walking slower is the better delay.

Either way, his feet move and he gets there eventually. Sure enough, there’s Jack, vainly trying to clean up sand scattered around the floor from the ripped punching bags leaning against the far wall. Gabriel’s throat closes so he knocks on the doorframe to announce his presence.

Jack jumps, shooting upright and whirling around. His mouth presses into a thin line when he sees Gabriel, obviously doing his best to keep his expression carefully blank. Unfortunately his fingers betray him, curling and uncurling apprehensively.

For some reason, despite how it reveals Jack’s anxiety, that little familiar habit puts Gabriel at ease. It’s been a long time, but… this is still the Jack he fell in love with, the awkward kid with the bad farmer’s tan and a sense of cynicism fossilized in honey.

“So,” Jack starts.

“So,” Gabriel agrees.

They watch each other for a beat.

“Look, I’m too old to be dancing around this kind of thing anymore,” Jack says.

“You always did trip over your own feet,” Gabriel muses, more fond than malicious. “You could break a hip at this age."

“Shut up.” There’s no bite in Jack’s words. His perfect posture sags, weighed down. “I just need you to know, what you want might… not exist, Gabe. I’m pretty sure I gave you just about everything I had to offer when we were sharing beds in any little shelter we could find.”

He makes an aborted move to touch his scar, but redirects his hand to rub the back of his neck.

"I’m burnt out,” he adds. "I'm not who I used to be. I could give you everything that's left over, but I wouldn't blame you for knowing it's not enough."

Gabriel knows a sugarcoated rejection when he hears one. His smile feels like knives carving out the corners of his lips and a strangled sort of sound that was supposed to be a laugh escapes him because, Jesus, _Jack_  is worrying about not being enough?

“You were all I ever thought about," he admits haltingly. “Since I met you, my life has been either... thinking about you or trying not to."

He covers his eyes with the back of his hand and he could swear he feels the phantom blood pooling at the edges of his mouth.

“That's sad, isn't it? You're not supposed to build your entire world around someone else like that, but fuck, Jack, I've loved you for so long I don't remember what it was like not to."

His hand drops to his side and he takes a tentative step towards Jack.

“All I ever wanted was to love you, and I don't think I can handle hiding it anymore. Don't... Don't worry about reciprocating. If you could just...” His mouth trembles. “If I could just be allowed to love you, I think I could be happy.”

Jack starts laughing. It's all dusty and cracked from disuse, but it’s _real_ , tears pricking at his eyes.

It stings. “What?” Gabriel hisses.

Jack shakes his head, catching his breath before he replies, “Sorry, I'm not laughing at you, it's just... God, Gabe, look at yourself.”

He gestures widely at Gabriel. “You're so out of my league we're playing different sports, okay, you can do so much better but here you are making an offer like that, totally serious, it’s-" Jack sobers, staring wistfully at the ground. “It's more than I could've ever hoped for."

“What are you saying, Jack?” It’s a warning. Gabriel is hyperaware of his heartbeat between Jack’s fingers. All it would take is a flick of the wrist and he’d shatter for good.

“I’m saying…” Jack looks up, nervous but resolved. “I fell in love with you the first time you shook my hand.”

Fireworks go off in Gabriel’s head and he can’t hear anymore, his ears are ringing with it. He thinks he says something like “ _fuck_ , Jack” but he can’t be sure. It doesn’t matter, not with Jack surging into his arms and their mouths coming together, magnetic, compulsive.

It’s the kind of kiss that screams through his veins, makes him savage and _angry_ at the world for not giving him this until now, bursts his heart with glee and pinches every nerve in fierce delight.

This is what it’s like, is all he can think until he’s grinning too much to kiss Jack and he can’t have _that_ so he forces it down-

 _This_ is what it’s like for Jack to love him back. He’s never going to forget it.

**Notes for the Chapter:**

> This was a thread I wrote on twitter that I cleaned up to upload here! If you wanna see more of my threads, I'm @firesonic152. Also, if you like my work, please consider [buying me a ko-fi!](https://ko-fi.com/A2214IAS)


End file.
